﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Win32;
using System.Data.OleDb;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data;

namespace StudentModule.Views
{
    /// <summary>
    /// Interaction logic for ImportSinhVienView.xaml
    /// </summary>
    public partial class ImportSinhVienView : UserControl
    {
        VLUSMEntities entities = new VLUSMEntities();
        public ImportSinhVienView()
        {
            InitializeComponent();
        }

        private void rbtbrowse_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.DefaultExt = ".xls";
            dlg.Filter = "Excel File (.xls)|*.xls";
            if (dlg.ShowDialog() == true)
            {
                tblink.Text = dlg.FileName;
                //duong dan cua file
            }
        }

        private void rbtimport_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                // Lấy đường dẫn file excel
                string path = tblink.Text;

                // Tạo connection tới file excel
                string excelConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 8.0", path);

                OleDbCommand command;
                OleDbCommand command2;
                OleDbCommand command3;
                OleDbCommand command4;



                using (OleDbConnection connection =
                             new OleDbConnection(excelConnectionString))
                {
                    connection.Open();

                    command = new OleDbCommand
                    ("Select*FROM[Sheet1-Thông tin cá nhân$]", connection);

                    command2 = new OleDbCommand
                    ("Select*FROM[Sheet2-Quá trình học PT$]", connection);

                    command3 = new OleDbCommand
                    ("Select*FROM[Sheet3-Đoàn thể$]", connection);

                    command4 = new OleDbCommand
                    ("Select*FROM[Sheet4-Quan hệ gia đình$]", connection);

                    Import(command);
                    Import2(command2);
                    Import3(command3);
                    Import4(command4);


                    MessageBox.Show("Import thành công");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void Import(OleDbCommand command)
        {
            // Create DbDataReader to Data Worksheet
            using (DbDataReader dr = command.ExecuteReader())
            {
                DataTable dt = new DataTable();
                dt.Load(dr);
                foreach (DataRow row in dt.Rows)
                {
                    // lấy đối tượng dân tộc từ SQL có tên gọi như trong file excel
                    string str = row["Dân tộc"].ToString();
                    DanToc dantoc = entities.DanTocs.FirstOrDefault(c => c.TenGoi == str);

                    str = row["Nơi sinh"].ToString();
                    DVHCCap1 noisinh = entities.DVHCCap1.FirstOrDefault(c => c.Ten == str);


                    str = row["Quận huyện"].ToString();
                    DVHCCap2 quanhuyenthuongtru = entities.DVHCCap2.FirstOrDefault(c => c.Ten == str);

                    str = row["Tỉnh thành tạm trú"].ToString();
                    DVHCCap1 tinhtamtru = entities.DVHCCap1.FirstOrDefault(c => c.Ten == str);

                    str = row["Lớp"].ToString();
                    Lop lop = entities.Lops.FirstOrDefault(c => c.TenGoi == str);

                    // lấy đối tượng tôn giáo từ SQL có tên gọi như trong file excel
                    str = row["Tôn giáo"].ToString();
                    TonGiao tongiao = entities.TonGiaos.FirstOrDefault(c => c.TenGoi == str);

                    // lấy đối tượng sinh viên từ SQL có mã sinh viên như trong file excel
                    str = row["Mã sinh viên"].ToString();
                    SinhVien sv = entities.SinhViens.FirstOrDefault(c => c.MaSinhVien == str);








                    if (sv != null)
                    {
                        if (lop != null)
                        {
                            sv.LopID = lop.ID;
                        }
                        if (dantoc != null)
                        {
                            sv.DanTocID = dantoc.ID;
                        }
                        if (tongiao != null)
                        {
                            sv.TonGiaoID = tongiao.ID;
                        }
                        if (noisinh != null)
                        {
                            sv.NoiSinh = noisinh.MaDonVi;

                        }
                        if (tinhtamtru != null)
                        {
                            sv.LienLac_DiaChiTamTru_TinhThanhID = tinhtamtru.ID;
                        }
                        if (quanhuyenthuongtru != null)
                        {
                            sv.LienLac_DiaChiThuongTru_QuanHuyenID = quanhuyenthuongtru.ID;
                        }
                        if (row["Giới tính"].ToString() == "Nam")
                        {
                            sv.GioiTinh = true;
                        }
                        if (row["Giới tính"].ToString() == "Nữ")
                        {
                            sv.GioiTinh = false;
                        }
                        if (row["Kết quả khám sức khỏe"].ToString() == "Đạt")
                        {
                            sv.ThongTinKhac_DuSucKhoe = true;
                        }
                        if (row["Kết quả khám sức khỏe"].ToString() == "Không đạt")
                        {
                            sv.ThongTinKhac_DuSucKhoe = false;
                        }

                        sv.NgaySinh = row["Ngày sinh"].ToString();
                        sv.EmailCaNhan = row["Email cá nhân"].ToString();
                        sv.LienLac_DiaChiLienLac_SoDienThoai = row["Số điện thoại nơi địa chỉ liên lạc"].ToString();
                        sv.LienLac_DiaChiLienLac_DiaChi = row["Địa chỉ liên lạc"].ToString();
                        sv.LienLac_DiaChiLienLac_DienThoaiCaNhan = row["Số điện di động"].ToString();
                        sv.LienLac_DiaChiTamTru_SoDienThoai = row["Điện thoại nơi tạm trú"].ToString();
                        sv.LienLac_DiaChiTamTru_SoNha = row["Địa chỉ tạm trú"].ToString();
                        sv.LienLac_DiaChiThuongTru_SoNha = row["Số nhà"].ToString();
                        sv.LienLac_DiaChiThuongTru_PhuongXaThiTran = row["Phường xã thị trấn"].ToString();
                        sv.ThongTinKhac_GhiChu = row["Ghi chú"].ToString();
                        sv.ThongTinKhac_GhiChuSucKhoe = row["Ghi chú sức khỏe"].ToString();
                        sv.ThongTinKhac_SoPhongKTX = row["Số phòng ở KTX"].ToString();
                        sv.CMND_NgayCap = row["Ngày cấp"].ToString();
                        sv.CMND_NoiCap = row["Nơi cấp"].ToString();
                        sv.CMND_SoCMND = row["Số CMND"].ToString();
                        sv.NoiSinh = row["Nơi sinh"].ToString();
                    }
                    else
                    {
                        SinhVien newsv = new SinhVien();
                        newsv.MaSinhVien = str;
                        newsv.TenSinhVien = row["Tên"].ToString();
                        newsv.HoSinhVien = row["Họ và tên lót"].ToString();
                        newsv.EmailCaNhan = row["Email cá nhân"].ToString();
                        newsv.LienLac_DiaChiLienLac_SoDienThoai = row["Số điện thoại nơi địa chỉ liên lạc"].ToString();
                        newsv.LienLac_DiaChiLienLac_DienThoaiCaNhan = row["Số điện di động"].ToString();
                        newsv.LienLac_DiaChiLienLac_DiaChi = row["Địa chỉ liên lạc"].ToString();
                        newsv.LienLac_DiaChiTamTru_SoDienThoai = row["Điện thoại nơi tạm trú"].ToString();
                        newsv.LienLac_DiaChiTamTru_SoNha = row["Địa chỉ tạm trú"].ToString();
                        newsv.LienLac_DiaChiThuongTru_SoNha = row["Số nhà"].ToString();
                        newsv.LienLac_DiaChiThuongTru_PhuongXaThiTran = row["Phường xã thị trấn"].ToString();
                        newsv.ThongTinKhac_GhiChu = row["Ghi chú"].ToString();
                        newsv.ThongTinKhac_GhiChuSucKhoe = row["Ghi chú sức khỏe"].ToString();
                        newsv.ThongTinKhac_SoPhongKTX = row["Số phòng ở KTX"].ToString();
                        newsv.CMND_NgayCap = row["Ngày cấp"].ToString();
                        newsv.CMND_NoiCap = row["Nơi cấp"].ToString();
                        newsv.CMND_SoCMND = row["Số CMND"].ToString();
                        newsv.NoiSinh = row["Nơi sinh"].ToString();





                        if (row["Giới tính"].ToString() == "Nam")
                        {
                            newsv.GioiTinh = true;
                        }
                        if (row["Giới tính"].ToString() == "Nữ")
                        {
                            newsv.GioiTinh = false;
                        }

                        if (row["Kết quả khám sức khỏe"].ToString() == "Đạt")
                        {
                            newsv.ThongTinKhac_DuSucKhoe = true;
                        }
                        if (row["Kết quả khám sức khỏe"].ToString() == "Không đạt")
                        {
                            newsv.ThongTinKhac_DuSucKhoe = false;
                        }

                        //   newsv.CMND_SoCMND = row["Số CMND"].ToString();
                        // newsv.CMND_NoiCap=row["Nơi cấp"].ToString();
                        //newsv.CMND_NgayCap = (DateTime)row["Ngày cấp
                        //  newsv.NgaySinh = (DateTime)row["Ngày sinh"];
                        //newsv.CMND_NgayCap = (DateTime)row["Ngày cấp"];
                        //  newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_TotNghiepTruong = row["Tốt nghiệp THPT trường"].ToString();


                        if (lop != null)
                        {
                            newsv.LopID = lop.ID;
                        }
                        if (dantoc != null)
                        {
                            newsv.DanTocID = dantoc.ID;
                        }
                        if (tongiao != null)
                        {
                            newsv.TonGiaoID = tongiao.ID;
                        }
                        if (noisinh != null)
                        {
                            newsv.NoiSinh = noisinh.MaDonVi;
                        }
                        if (tinhtamtru != null)
                        {
                            newsv.LienLac_DiaChiTamTru_TinhThanhID = tinhtamtru.ID;
                        }
                        if (quanhuyenthuongtru != null)
                        {
                            newsv.LienLac_DiaChiThuongTru_QuanHuyenID = quanhuyenthuongtru.ID;
                        }
                        entities.SinhViens.AddObject(newsv);
                    }
                    entities.SaveChanges();
                }
            }
        }

        private void Import2(OleDbCommand command2)
        {
            // Create DbDataReader to Data Worksheet
            using (DbDataReader dr = command2.ExecuteReader())
            {
                DataTable dt = new DataTable();
                dt.Load(dr);

                foreach (DataRow row in dt.Rows)
                {


                    // lấy đối tượng sinh viên từ SQL có mã sinh viên như trong file excel
                    string str = row["Mã sinh viên"].ToString();
                    SinhVien sv = entities.SinhViens.FirstOrDefault(c => c.MaSinhVien == str);

                    //lấy đối tượng tốt nghiệp nơi cấp ở cơ sỏ dữ liệu
                    str = row["Nơi cấp"].ToString();
                    DVHCCap1 noicap = entities.DVHCCap1.FirstOrDefault(c => c.Ten == str);


                    if (sv != null)
                    {
                        if (noicap != null)
                        {
                            sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NoiCap = noicap.MaDonVi;
                        }


                        sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_TotNghiepTruong = row["Tốt nghiệp THPT trường"].ToString();
                        //sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NoiCap = row["Nơi cấp"].ToString();
                        sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_XepLoaiTotNghiep = row["Xếp loại tốt nghiệp"].ToString();
                        sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_SoHieuBang = row["Số hiệu"].ToString();
                        sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NgayCapBang = row["Ngày cấp bằng"].ToString();
                        sv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NamTotNghiep = row["Năm tốt nghiệp"].ToString();
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemToan = Convert.ToDouble(row["ĐTB cả năm M#Toán 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemVan = Convert.ToDouble(row["ĐTB cả năm M#Văn lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }

                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemNgoaiNgu = Convert.ToDouble(row["ĐTB cả năm M#Ngoại ngữ lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemSinh = Convert.ToDouble(row["ĐTB cả năm M#Sinh lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemSu = Convert.ToDouble(row["ĐTB cả năm M#Sử lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemLy = Convert.ToDouble(row["ĐTB cả năm M#Lý lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemHoa = Convert.ToDouble(row["ĐTB cả năm M#Hóa lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemDiaLy = Convert.ToDouble(row["ĐTB cả năm M#Địa Lý lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop10_DiemTrungBinh = Convert.ToDouble(row["ĐTB cả năm M#Trung Bình lớp 10"]);
                        }
                        catch (Exception)
                        {
                        }





                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemToan = Convert.ToDouble(row["ĐTB cả năm M#Toán 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemVan = Convert.ToDouble(row["ĐTB cả năm M#Văn lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }

                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemNgoaiNgu = Convert.ToDouble(row["ĐTB cả năm M#Ngoại ngữ lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemSinh = Convert.ToDouble(row["ĐTB cả năm M#Sinh lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemSu = Convert.ToDouble(row["ĐTB cả năm M#Sử lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemLy = Convert.ToDouble(row["ĐTB cả năm M#Lý lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemHoa = Convert.ToDouble(row["ĐTB cả năm M#Hóa lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemDiaLy = Convert.ToDouble(row["ĐTB cả năm M#Địa Lý lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop11_DiemTrungBinh = Convert.ToDouble(row["ĐTB cả năm M#Trung Bình lớp 11"]);
                        }
                        catch (Exception)
                        {
                        }










                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemToan = Convert.ToDouble(row["ĐTB cả năm M#Toán 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemVan = Convert.ToDouble(row["ĐTB cả năm M#Văn lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }

                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemNgoaiNgu = Convert.ToDouble(row["ĐTB cả năm M#Ngoại ngữ lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemSinh = Convert.ToDouble(row["ĐTB cả năm M#Sinh lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemSu = Convert.ToDouble(row["ĐTB cả năm M#Sử lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemLy = Convert.ToDouble(row["ĐTB cả năm M#Lý lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemHoa = Convert.ToDouble(row["ĐTB cả năm M#Hóa lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemDiaLy = Convert.ToDouble(row["ĐTB cả năm M#Địa Lý lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            sv.QuaTrinhHocPhoThong_Lop12_DiemTrungBinh = Convert.ToDouble(row["ĐTB cả năm M#Trung Bình lớp 12"]);
                        }
                        catch (Exception)
                        {
                        }






                    }
                    else
                    {
                        SinhVien newsv = new SinhVien();
                        newsv.MaSinhVien = str;
                        newsv.TenSinhVien = row["Tên"].ToString();
                        newsv.HoSinhVien = row["Họ và tên lót"].ToString();


                        if (noicap != null)
                        {
                            newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NoiCap = noicap.MaDonVi;
                        }
                        newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_TotNghiepTruong = row["Tốt nghiệp THPT trường"].ToString();
                        newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NoiCap = row["Nơi cấp"].ToString();
                        newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_XepLoaiTotNghiep = row["Xếp loại tốt nghiệp"].ToString();
                        newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_SoHieuBang = row["Số hiệu"].ToString();
                        newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NgayCapBang = row["Ngày cấp bằng"].ToString();
                        newsv.QuaTrinhHocPhoThong_TotNghiepPhoThong_NamTotNghiep = row["Năm tốt nghiệp"].ToString();
                        entities.SinhViens.AddObject(newsv);
                    }
                    entities.SaveChanges();
                }
            }

        }

        private void Import3(OleDbCommand command3)
        {

            // Create DbDataReader to Data Worksheet
            using (DbDataReader dr = command3.ExecuteReader())
            {
                DataTable dt = new DataTable();
                dt.Load(dr);

                foreach (DataRow row in dt.Rows)
                {


                    // lấy đối tượng sinh viên từ SQL có mã sinh viên như trong file excel
                    string str = row["Mã sinh viên"].ToString();
                    SinhVien sv = entities.SinhViens.FirstOrDefault(c => c.MaSinhVien == str);




                    if (sv != null)
                    {
                        sv.SinhHoatDoan_NgayVaoDoan = row["Ngày vào Đoàn"].ToString();
                        sv.SinhHoatDoan_NoiVaoDoan = row["Nơi vào Đoàn"].ToString();
                        sv.SinhHoatDoan_ChucVuDoanCaoNhat = row["Chức vụ Đoàn cao nhất đã qua"].ToString();
                        sv.SinhHoatDoan_NangKhieu = row["Năng khiếu"].ToString();
                        sv.SinhHoatDoan_NguyenVong = row["Nguyện vọng"].ToString();
                        sv.SinhHoatDang_NoiVaoDang = row["Nơi vào Đảng"].ToString();
                        sv.SinhHoatDang_NgayVaoDangChinhThuc = row["Ngày vào Đảng CSVN chính thức"].ToString();
                        sv.SinhHoatDang_NgayVaoDangDuBi = row["Ngày vào Đảng CSVN Dự bị"].ToString();





                    }
                    else
                    {
                        SinhVien newsv = new SinhVien();
                        newsv.MaSinhVien = str;
                        newsv.TenSinhVien = row["Tên"].ToString();
                        newsv.HoSinhVien = row["Họ và tên lót"].ToString();
                        newsv.SinhHoatDoan_NgayVaoDoan = row["Ngày vào Đoàn"].ToString();
                        newsv.SinhHoatDoan_NoiVaoDoan = row["Nơi vào Đoàn"].ToString();
                        newsv.SinhHoatDoan_ChucVuDoanCaoNhat = row["Chức vụ Đoàn cao nhất đã qua"].ToString();
                        newsv.SinhHoatDoan_NangKhieu = row["Năng khiếu"].ToString();
                        newsv.SinhHoatDoan_NguyenVong = row["Nguyện vọng"].ToString();
                        newsv.SinhHoatDang_NoiVaoDang = row["Nơi vào Đảng"].ToString();
                        newsv.SinhHoatDang_NgayVaoDangChinhThuc = row["Ngày vào Đảng CSVN chính thức"].ToString();
                        newsv.SinhHoatDang_NgayVaoDangDuBi = row["Ngày vào Đảng CSVN Dự bị"].ToString();


                        entities.SinhViens.AddObject(newsv);
                    }
                    entities.SaveChanges();
                }
            }
        }

        private void Import4(OleDbCommand command4)
        {
            // Create DbDataReader to Data Worksheet
            using (DbDataReader dr = command4.ExecuteReader())
            {
                DataTable dt = new DataTable();
                dt.Load(dr);
                foreach (DataRow row in dt.Rows)
                {
                    // lấy đối tượng dân tộc từ SQL có tên gọi như trong file excel
                    string str = row["Dân tộc (của cha)"].ToString();
                    DanToc dantoccha = entities.DanTocs.FirstOrDefault(c => c.TenGoi == str);

                    str = row["Dân tộc (của mẹ)"].ToString();
                    DanToc dantocme = entities.DanTocs.FirstOrDefault(c => c.TenGoi == str);

                    // lấy đối tượng tôn giáo từ SQL có tên gọi như trong file excel
                    str = row["Tôn giáo (của cha)"].ToString();
                    TonGiao tongiaocha = entities.TonGiaos.FirstOrDefault(c => c.TenGoi == str);
                    str = row["Tôn giáo (của mẹ)"].ToString();
                    TonGiao tongiaome = entities.TonGiaos.FirstOrDefault(c => c.TenGoi == str);
                    // lấy đối tượng sinh viên từ SQL có mã sinh viên như trong file excel
                    str = row["Mã sinh viên"].ToString();
                    SinhVien sv = entities.SinhViens.FirstOrDefault(c => c.MaSinhVien == str);




                    if (sv != null)
                    {
                        sv.QuanHeGiaDinh_NguoiCha_HoTen = row["Họ tên cha"].ToString();
                        // sv.QuanHeGiaDinh_NguoiCha_NamSinh = Convert.ToDateTime(row["Năm sinh (của cha)"].ToString());
                        sv.QuanHeGiaDinh_NguoiCha_QuocTich = row["Quốc tịch (của cha)"].ToString();
                        sv.QuanHeGiaDinh_NguoiCha_HoKhauThuongTru = row["Hộ khẩu thường trú (của cha)"].ToString();
                        sv.QuanHeGiaDinh_NguoiCha_NgheNghiep = row["Nghề nghiệp (của cha)"].ToString();
                        sv.QuanHeGiaDinh_NguoiCha_NoiLamViec = row["Nơi làm việc (của cha)"].ToString();
                        sv.QuanHeGiaDinh_NguoiCha_DienThoai = row["Điện thoại (của cha)"].ToString();
                        sv.QuanHeGiaDinh_NguoiCha_Email = row["Email (của cha)"].ToString();

                        sv.QuanHeGiaDinh_NguoiMe_HoTen = row["Họ tên Mẹ"].ToString();
                        // sv.QuanHeGiaDinh_NguoiCha_NamSinh = Convert.ToDateTime(row["Năm sinh (của cha)"].ToString());
                        sv.QuanHeGiaDinh_NguoiMe_QuocTich = row["Quốc tịch (của mẹ)"].ToString();
                        sv.QuanHeGiaDinh_NguoiMe_HoKhauThuongTru = row["Hộ khẩu thường trú (của mẹ)"].ToString();
                        sv.QuanHeGiaDinh_NguoiMe_NgheNghiep = row["Nghề nghiệp (của mẹ)"].ToString();
                        sv.QuanHeGiaDinh_NguoiMe_NoiLamViec = row["Nơi làm việc (của mẹ)"].ToString();
                        sv.QuanHeGiaDinh_NguoiMe_DienThoai = row["Điện thoại (của mẹ)"].ToString();
                        sv.QuanHeGiaDinh_NguoiMe_Email = row["Email (của mẹ)"].ToString();

                        if (dantoccha != null)
                        {
                            sv.QuanHeGiaDinh_NguoiCha_DanTocID = dantoccha.ID;
                        }
                        if (tongiaocha != null)
                        {
                            sv.QuanHeGiaDinh_NguoiCha_TonGiaoID = tongiaocha.ID;
                        }

                        if (dantocme != null)
                        {
                            sv.QuanHeGiaDinh_NguoiMe_DanTocID = dantocme.ID;
                        }
                        if (tongiaome != null)
                        {
                            sv.QuanHeGiaDinh_NguoiMe_TonGiaoID = tongiaome.ID;
                        }

                    }
                    else
                    {
                        SinhVien newsv = new SinhVien();
                        newsv.MaSinhVien = str;
                        newsv.TenSinhVien = row["Tên"].ToString();
                        newsv.HoSinhVien = row["Họ và tên lót"].ToString();

                        newsv.QuanHeGiaDinh_NguoiCha_HoTen = row["Họ tên cha"].ToString();
                        // sv.QuanHeGiaDinh_NguoiCha_NamSinh = Convert.ToDateTime(row["Năm sinh (của cha)"].ToString());
                        newsv.QuanHeGiaDinh_NguoiCha_QuocTich = row["Quốc tịch (của cha)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiCha_HoKhauThuongTru = row["Hộ khẩu thường trú (của cha)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiCha_NgheNghiep = row["Nghề nghiệp (của cha)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiCha_NoiLamViec = row["Nơi làm việc (của cha)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiCha_DienThoai = row["Điện thoại (của cha)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiCha_Email = row["Email (của cha)"].ToString();

                        newsv.QuanHeGiaDinh_NguoiMe_HoTen = row["Họ tên Mẹ"].ToString();
                        // sv.QuanHeGiaDinh_NguoiCha_NamSinh = Convert.ToDateTime(row["Năm sinh (của cha)"].ToString());
                        newsv.QuanHeGiaDinh_NguoiMe_QuocTich = row["Quốc tịch (của mẹ)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiMe_HoKhauThuongTru = row["Hộ khẩu thường trú (của mẹ)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiMe_NgheNghiep = row["Nghề nghiệp (của mẹ"].ToString();
                        newsv.QuanHeGiaDinh_NguoiMe_NoiLamViec = row["Nơi làm việc (của mẹ)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiMe_DienThoai = row["Điện thoại (của mẹ)"].ToString();
                        newsv.QuanHeGiaDinh_NguoiMe_Email = row["Email (của mẹ)"].ToString();
                        if (dantoccha != null)
                        {
                            newsv.QuanHeGiaDinh_NguoiCha_DanTocID = dantoccha.ID;
                        }
                        if (tongiaocha != null)
                        {
                            newsv.QuanHeGiaDinh_NguoiCha_TonGiaoID = tongiaocha.ID;
                        }

                        if (dantocme != null)
                        {
                            newsv.QuanHeGiaDinh_NguoiCha_DanTocID = dantocme.ID;
                        }
                        if (tongiaome != null)
                        {
                            newsv.QuanHeGiaDinh_NguoiCha_TonGiaoID = tongiaome.ID;
                        }

                        entities.SinhViens.AddObject(newsv);
                    }
                    entities.SaveChanges();
                }
            }
        }

    }
}
